package com.turnengine.client.global.game.bean;

import com.javabi.codebuilder.generated.IGeneratedBean;

/**
 * The I Game Definition.
 */
public interface IGameDefinition extends IGeneratedBean, Comparable<IGameDefinition> {

	/**
	 * Returns the game.
	 * @return the game.
	 */
	IGame getGame();

	/**
	 * Returns the version.
	 * @return the version.
	 */
	IGameVersion getVersion();

	/**
	 * Returns the instance.
	 * @return the instance.
	 */
	IGameInstance getInstance();

	/**
	 * Returns the host.
	 * @return the host.
	 */
	IGameHost getHost();

	/**
	 * Sets the game.
	 * @param game the game to set.
	 */
	void setGame(IGame game);

	/**
	 * Sets the version.
	 * @param version the version to set.
	 */
	void setVersion(IGameVersion version);

	/**
	 * Sets the instance.
	 * @param instance the instance to set.
	 */
	void setInstance(IGameInstance instance);

	/**
	 * Sets the host.
	 * @param host the host to set.
	 */
	void setHost(IGameHost host);
}
